docusaurus
Here’s the thing, Abhinav — your list is the skeleton of a Docusaurus migration, but a real migration has a lot of connective tissue. Since you’re converting a raw Markdown project into a proper Docusaurus site, you want a checklist that covers project setup, content ingestion, site structure, styling, and deployment.
Below is a more granular, practical, “no‑surprises” migration checklist you can actually follow.
🧭 Full Migration Checklist: Raw Markdown → Docusaurus
1. Initialize the project
npm init(or skip if usingnpx create-docusaurus@latest)- Install dependencies:
npm install @docusaurus/core @docusaurus/preset-classic react react-dom
- Add TypeScript support:
npm install --save-dev typescript @types/react @types/node
2. Project structure setup
Create the standard Docusaurus folders:
/docs
/src
/components
/css
/static
docusaurus.config.ts
sidebars.ts
tsconfig.json
3. Configure TypeScript
- Add a minimal
tsconfig.json:jsx: react-jsxmoduleResolution: bundlerallowJs: true(if you want JS + TS)
- Add path aliases if you want cleaner imports.
4. Configure Docusaurus
Edit docusaurus.config.ts:
- Set
title,tagline,favicon - Configure
presets(docs, blog, theme) - Configure
themeConfig:- Navbar
- Footer
- Prism code highlighting
- Color mode (light/dark)
- Add plugins if needed:
- Search (Algolia)
- Google Analytics
- Local search plugin
5. Configure sidebars
- Create
sidebars.ts - Choose between:
- Autogenerated (recommended for Markdown migrations)
- Manual (explicit ordering)
Example autogenerated:
export default {
docs: [{ type: "autogenerated", dirName: "." }],
};
6. Import your Markdown content
Move your existing Markdown files into /docs.
Then:
- Fix relative links (
../foo.md→/docs/foo) - Fix image paths (move images into
/static/img) - Convert any non‑Markdown content (HTML, code samples, etc.)
- Add frontmatter to each file:
---
title: My Page
description: Optional
---
7. Add custom components (optional but common)
If your Markdown uses custom UI elements, create React components in /src/components and import them via MDX:
import MyComponent from "@site/src/components/MyComponent";
<MyComponent />
8. Styling & theme customization
- Edit
/src/css/custom.css - Override theme components if needed:
/src/theme/Navbar/src/theme/Footer
- Add custom Prism themes for code blocks
9. Local development
Run:
npm run start
Fix:
- Broken links
- Sidebar ordering
- Missing images
- MDX syntax errors
10. Build & test
npm run build
npm run serve
Verify:
- All pages render
- No broken links
- No missing assets
- No hydration errors
11. Deployment
Depending on your target:
GitHub Pages
-
Add
organizationNameandprojectNameto config -
Run:
GIT_USER=abhinav npm run deploy
Vercel / Netlify
- Just point to the repo
- Build command:
npm run build - Output directory:
build
🔍 Anything missing from your original list?
Yes — quite a bit.
Here are the major categories you didn’t include:
| Category | Missing Items |
|---|---|
| Content migration | Fixing links, images, frontmatter, MDX conversion |
| Theme & styling | Custom CSS, component overrides |
| Plugins | Search, analytics, sitemap |
| Build & QA | Broken link checking, local testing |
| Deployment | GitHub Pages / Vercel / Netlify setup |
| Markdown → MDX | Handling custom components, imports |
Want me to turn this into a clean, actionable TODO list you can paste into your repo?
I can format it as:
- A GitHub issue checklist
- A Notion-style task board
- A linear step-by-step migration plan
Just tell me the style you prefer.